The present invention is related to data communications and in particular to data communications between multiple dial-up connections and a network.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawing hereto: Copyright(copyright) 1997, Multi-Tech Systems, Incorporated, All Rights Reserved.
Previously, Internet service providers (ISPs) supported multiple simultaneous connections between the Internet and users dialing into the ISP by deploying many modems connected to multiple telephone lines. Each dial-in user connects to a particular modem which is in turn connected to an Internet router which routes data between the user and the Internet. Each modem has to be individually configured and monitored for failure.
The introduction of intelligent modem racks containing multiple modems and connected to a single telephone line, such as a T1 line or an ISDN line, that supports multiple simultaneous calls has allowed the ISPs more control over their infrastructure. However, in order to support the high speeds required by Internet users, the data bus on the rack is expensive, complex, and prone to failure. Furthermore, the racks are dedicated to a single type of telephone connection, either T1 or ISDN, not both, and are not easily scalable. Additionally, existing communications servers suffer from bandwidth limitations imposed by their telephone connections. Finally, although the racks give more control over modem management, ISP personnel cannot easily perform the management functions remotely.
Thus, there is a need for a scalable and reliable modem system that provides flexibility in the type of line connections configurable, allows for expanded bandwidth, and is easily managed from a remote site.
A communications server system manages communication sessions between multiple remote users and a network by distributing the processing necessary to establish and maintain the session among multiple processors connected to multiple busses. The communications sessions are divided into connection segments which are coupled to a network interface through a first bus. The network interface receives outgoing network packets from a connection segment on the first bus and transmits the outgoing network packets to the network. The network interface also for receives incoming network packets from the network and transmits the incoming network packets to a connection segment on the first bus.
Each connection segment is coupled to a second bus and comprises a communications module for coupling to a telephone line and a remote access server microprocessor that control the communications sessions through the specific segment. A remote user can couple to the communications module through more than one telephone connection.
The communications module converts incoming telephone signals from the remote users into frames of incoming telephone data and transmits the frames of incoming telephone data on the second bus. The communications module also converts frames of outgoing telephone data received on the second bus into outgoing telephone signals for the remote users.
The remote access server microprocessor converts the frames of incoming telephone data received on the second bus into outgoing network packets and transmits the outgoing network packets on the first bus. The remote access server microprocessor also converts the incoming network packets received on the first bus into frames of outgoing telephone data and transmits the frames of outgoing telephone data on the second bus. If a remote user is coupled to the communications module through multiple telephone connections, the remote access server microprocessor combines the frames of incoming telephone data from the multiple telephone connections into an outgoing network packet and breaks an incoming network packet into multiple frames of outgoing telephone data to be transmitted over the multiple telephone connections to the remote user. The remote access server microprocessor also controls the maximum number of telephone connections allowed for a remote user.
When the communications segment is connected to a T1 telephone line, the communications module comprises a T1 connection line interface which demultiplexes/multiplexes between telephone signals from/to the remote users and service channels contained in the T1 signal. A plurality of modem modules are coupled to the T1 connection line interface on a segment bus. Each modem module comprises a plurality of modems and a controller.
The remote communications server system further comprises a system manager controller coupled to the plurality of connection segments through a third bus which transmits commands to each connection segment and receives status information from each connection segment.
A method of distributing the processing inherent in communications sessions between multiple remote users and a network by dividing the communication sessions into segments and dedicating a communications line interface and a processor to each segment is also described. The communications line interface and the processor in each segment are coupled to a data bus. A single network interface is assigned to all the segments and is coupled to the processors in the segments through a different data bus. If signals in a telephone line coupled to a communications line interface in a segment require modulation/demodulation, a plurality of modems is assigned to the segment. The plurality of modems is further divided into modem pools with each modem pool assigned a modem pool controller to manage the data traversing the modems in the pool. The modems in a pool and the modem pool controller are coupled through a third bus.
Software that converts among the various data protocols supported by the remote communications server system is described as is server management software.
Thus, the remote communications server system supports a plurality of communications sessions between multiple dial-in users and a network using a combination of buses, processors, and a segmented design that creates a distributed processing system having high throughput without the stability problems associated with gigabit bus speeds. Furthermore, the system provides flexible configuration because it supports a mixture of different types of telephone links and allows the substitution of one service type for another without affecting the remaining telephone links. The modular design also permits scalability by increasing the number of segments in use and/or the number of lines connected into each segment. The system coordinates a plurality of independent communications links bonded together into a single channel to create a virtual connection to the network having a bandwidth greater than the individual links and allows the intermixing of different types of links in a bonded channel. Finally, because the system manager can be accessed through industry-standard remote protocols, the remote communications server system deployed at one site can be easily maintained from a different site.